<?xml version="1.0" encoding="iso-8859-1"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>HTML Test: Browsing context is first created</title>
    <link rel="author" title="Intel" href="http://www.intel.com/" />
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div id="log"></div>
    <script>
    <![CDATA[

    var doc, iframe;

    setup(function () {
      iframe = document.createElement("iframe");
      document.body.appendChild(iframe);
      doc = iframe.contentDocument;
    });

    test(function () {
      assert_equals(iframe.contentWindow.history.length, 1, "The history.length should be 1.");
    }, "Check the history.length of the first created browsing context");

    test(function () {
      assert_equals(doc.documentURI, "about:blank", "The document's address should be 'about:blank'.");
      assert_equals(doc.URL, "about:blank", "The document's address should be 'about:blank'.");
      assert_equals(doc.contentType, "text/html", "The document should be an HTML document.");
      assert_equals(doc.doctype, null, "The docType of a document without a document type declaration should be null.");
      assert_equals(doc.compatMode, "BackCompat", "The compatMode of a document without a document type declaration should be 'BackCompat'.");
      assert_equals(doc.characterSet, "UTF-8", "The document's encoding should be 'UTF-8'.");
      assert_equals(iframe.contentWindow.parent.document, document);
      assert_equals(doc.referrer, document.URL, "The document's referrer should be its creator document's address.");
    }, "Check the document's meta data");

    test(function () {
      assert_equals(doc.readyState, "complete", "The readyState attribute should be 'complete'.");
    }, "Check the document's status");

    test(function () {
      assert_equals(doc.childNodes.length, 1, "The document must have only one child.");
      assert_equals(doc.documentElement.tagName, "HTML");
      assert_equals(doc.documentElement.childNodes.length, 2, "The HTML element should have 2 children.");
      assert_equals(doc.documentElement.childNodes[0].tagName, "HEAD", "The first child of HTML element should be a HEAD element.");
      assert_false(doc.documentElement.childNodes[0].hasChildNodes(), "The HEAD element should not have children.");
      assert_equals(doc.documentElement.childNodes[1].tagName, "BODY", "The second child of HTML element should be a BODY element.");
      assert_false(doc.documentElement.childNodes[1].hasChildNodes(), "The BODY element should not have children.");
    }, "Check the document's content");

    ]]>
    </script>
  </body>
</html>
